
package Controlador;

import Modelo.InfoJornada;
import Modelo.Listas;
import Modelo.Validaciones;
import Modelo.Vigilantes;
import Vista.JFrameCalendarioVigi;
import Vista.Mensajes;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;


public class ControladorCalendarioVigi implements ActionListener
{
    private JFrameCalendarioVigi formCalendario;
    private Listas LisVigi;
    private Listas Lis;

    public ControladorCalendarioVigi(Listas LisEmpresa) 
    {
        LisVigi= LisEmpresa;
        formCalendario = new JFrameCalendarioVigi();
        formCalendario.setVisible(true);
        formCalendario.AgregarListener(this);
    }
    
    public void ConsultarCalendario()
    {
        int Filas;
        InfoJornada vigi = new InfoJornada();
        
        int posicion;
        String cedula = formCalendario.getTxtCedulaVigi().getText();
        
        posicion = LisVigi.ExisteVigilante(cedula);
        
        if(posicion ==-1)
            Mensajes.Aviso("Vigilante no encontrado", "");
        else
        {
            Date fechaInicio = formCalendario.getDatFechaInicio().getCalendar().getTime();
            Date fechaFinal = formCalendario.getDatFechaFinal().getCalendar().getTime();
            int posiDia= 0;
            
            String fechaInicioString = Validaciones.fechaFormateada(fechaInicio);
            
            for (int i=0;i < LisVigi.getListaVigilantes().get(posicion).getSuHorario().getListaHorarioVigilante().size(); i++)
            {
                Date fechaBus = LisVigi.getListaVigilantes().get(posicion).getSuHorario().getListaHorarioVigilante().get(i).getFechaTurno();
                String fechaBusString = Validaciones.fechaFormateada(fechaBus);
                if (fechaBusString.equals(fechaInicioString )) //cedLista==CedBusqueda
                    posiDia =i;
            }

            
            int difDia = Validaciones.diferenciaDeFechas(fechaInicio, fechaFinal);
            int auxFila = posiDia + (difDia+1);
             
            for(Filas =0; Filas < auxFila ; Filas++)
            {
                vigi = LisVigi.getListaVigilantes().get(posicion).getSuHorario().getListaHorarioVigilante().get(Filas);
                formCalendario.getjTableCalendario().setValueAt(vigi.getFechaTurno(), Filas, 0);
                formCalendario.getjTableCalendario().setValueAt(vigi.getContrato(), Filas, 1);
                formCalendario.getjTableCalendario().setValueAt(vigi.getTurno(), Filas, 2);
                formCalendario.getjTableCalendario().setValueAt(vigi.getLibre(), Filas, 3);
                //formCalendario.getjTableCalendario().setValueAt(vigi.getFalta(), Filas, 4);
            }
        }
    }
    
    @Override
    public void actionPerformed(ActionEvent e) 
    {
        if(e.getSource().equals(formCalendario.getBtnConsultarCalen()))
        {
            ConsultarCalendario();
        }
        
    }
    
}
